// (function(window, document, $) {


// 	$.components.register("ace", {
// 		mode: "init",
// 		defaults: {},
// 		init: function(context) {
// 			if (typeof ace === "undefined") {
// 				return;
// 			}

// 			//ace.config.set("themePath", "../theme");
// 			ace.config.loadModule("ace/ext/language_tools");

// 			$('[data-plugin="ace"]', context).each(function() {
// 				var id = $(this).attr("id"),
// 					mode = $(this).data("mode"),
// 					theme = $(this).data("theme"),
// 					editor = ace.edit(id);

// 				editor.container.style.opacity = "";
// 				if (mode) {
// 					editor.session.setMode("ace/mode/" + mode);
// 				}
// 				if (theme) {
// 					editor.setTheme("ace/theme/" + theme);
// 				}

// 				editor.setOption("maxLines", 40);
// 				editor.setAutoScrollEditorIntoView(true);

// 				ace.config.loadModule("ace/ext/language_tools", function() {
// 					editor.setOptions({
// 						enableSnippets: true,
// 						enableBasicAutocompletion: true
// 					});
// 				});
// 			});
// 		}
// 	});

// })(window, document, jQuery);
// (function(window, document, $) {


// 	$.components.register("alertify", {
// 		mode: "init",
// 		defaults: {
// 			type: "alert",
// 			theme: "bootstrap"
// 		},
// 		init: function() {
// 			if (typeof alertify === "undefined") {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("alertify");

// 			$(document).on('click.site.alertify', '[data-plugin="alertify"]', function() {
// 				var $this = $(this),
// 					options = $.extend(true, {}, defaults, $this.data());

// 				if (options.labelOk) {
// 					options.okBtn = options.labelOk;
// 				}

// 				if (options.labelCancel) {
// 					options.cancelBtn = options.labelCancel;
// 				}

// 				if (typeof options.delay !== 'undefined') {
// 					alertify.delay(options.delay);
// 				}

// 				if (typeof options.theme !== 'undefined') {
// 					alertify.theme(options.theme);
// 				}

// 				if (typeof options.cancelBtn !== 'undefined') {
// 					alertify.cancelBtn(options.cancelBtn);
// 				}

// 				if (typeof options.okBtn !== 'undefined') {
// 					alertify.okBtn(options.okBtn);
// 				}

// 				if (typeof options.placeholder !== 'undefined') {
// 					alertify.delay(options.placeholder);
// 				}

// 				if (typeof options.defaultValue !== 'undefined') {
// 					alertify.delay(options.defaultValue);
// 				}

// 				if (typeof options.maxLogItems !== 'undefined') {
// 					alertify.delay(options.maxLogItems);
// 				}

// 				if (typeof options.closeLogOnClick !== 'undefined') {
// 					alertify.delay(options.closeLogOnClick);
// 				}

// 				switch (options.type) {
// 					case "alert":
// 						alertify.alert(options.alertMessage);
// 						break;
// 					case "confirm":
// 						alertify.confirm(options.confirmTitle, function() {
// 							alertify.success(options.successMessage);
// 						}, function() {
// 							alertify.error(options.errorMessage);
// 						});
// 						break;
// 					case "prompt":
// 						alertify.prompt(options.promptTitle, function(str) {
// 							var message = options.successMessage.replace('%s', str);
// 							alertify.success(message);
// 						}, function() {
// 							alertify.error(options.errorMessage);
// 						});
// 						break;
// 					case "log":
// 						alertify.log(options.logMessage);
// 						break;
// 					case "success":
// 						alertify.success(options.successMessage);
// 						break;
// 					case "error":
// 						alertify.error(options.errorMessage);
// 						break;
// 				}
// 			});
// 		}
// 	});

// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("animate-list", {
// 		mode: 'init',

// 		defaults: {
// 			child: '.panel',
// 			duration: 250,
// 			delay: 50,
// 			animate: 'scale-up',
// 			fill: 'backwards'
// 		},

// 		init: function() {
// 			var self = this;

// 			$('[data-plugin=animateList]').each(function() {
// 				var $this = $(this),
// 					options = $.extend({}, self.defaults, $this.data(), true);


// 				var animatedBox = function($el, opts) {
// 					this.options = opts;
// 					this.$children = $el.find(opts.child);
// 					this.$children.addClass('animation-' + opts.animate);
// 					this.$children.css('animation-fill-mode', opts.fill);
// 					this.$children.css('animation-duration', opts.duration + 'ms');

// 					var delay = 0,
// 						self = this;

// 					this.$children.each(function() {

// 						$(this).css('animation-delay', delay + 'ms');
// 						delay += self.options.delay;
// 					});
// 				};

// 				animatedBox.prototype = {
// 					run: function(type) {
// 						var self = this;
// 						this.$children.removeClass('animation-' + this.options.animate);
// 						if (typeof type !== 'undefined') {
// 							this.options.animate = type;
// 						}
// 						setTimeout(function() {
// 							self.$children.addClass('animation-' + self.options.animate);
// 						}, 0);
// 					}
// 				};

// 				$this.data('animateList', new animatedBox($this, options));
// 			});
// 		}
// 	});

// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("bootbox", {
// 		mode: "init",
// 		defaults: {
// 			message: "",
// 			locale: "zh_CN"
// 		},
// 		init: function() {
// 			if (typeof bootbox === "undefined") {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults("bootbox");

// 			$(document).on('click.site.bootbox', '[data-plugin="bootbox"]', function() {
// 				var $item = $(this),
// 					options = $item.data();

// 				options = $.extend(true, {}, defaults, options);
// 				if (options.classname) {
// 					options.className = options.classname;
// 				}

// 				if (typeof options.callback === "string" && $.isFunction(window[options.callback])) {
// 					options.callback = window[options.callback];
// 				}

// 				if (options.type) {
// 					switch (options.type) {
// 						case "alert":
// 							bootbox.alert(options);
// 							break;
// 						case "confirm":
// 							bootbox.confirm(options);
// 							break;
// 						case "prompt":
// 							bootbox.prompt(options);
// 							break;
// 						default:
// 							bootbox.dialog(options);
// 					}
// 				} else {
// 					bootbox.dialog(options);
// 				}
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("colorpicker", {
// 		defaults: {},
// 		mode: "default"
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("datepicker", {
// 		mode: "default",
// 		defaults: {
// 			autoclose: true,
// 			language: "zh-CN",
// 			format: "yyyy-mm-dd"
// 		},
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";
// 	/*global moment*/

// 	$.components.register("daterangepicker", {
// 		defaults: {
// 			"locale": {
// 				"format": "YYYY-MM-DD",
// 				"separator": " 至 ",
// 				"applyLabel": "确定",
// 				"cancelLabel": "取消",
// 				"fromLabel": "从",
// 				"toLabel": "到",
// 				"customRangeLabel": "自定义",
// 				"weekLabel": "W",
// 				"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
// 				"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
// 				"firstDay": 1
// 			},
// 			// "parentEl": "#wd-pageContent > .page",
// 			"alwaysShowCalendars": true
// 		},
// 		init: function(context) {
// 			if (!$.fn.daterangepicker) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("daterangepicker");
// 			var defaults_ranges = {
// 				ranges: {
// 					'今天': [moment(), moment()],
// 					'昨天': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
// 					'最近7天': [moment().subtract(6, 'days'), moment()],
// 					'最近30天': [moment().subtract(29, 'days'), moment()],
// 					'本月': [moment().startOf('month'), moment().endOf('month')],
// 					'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
// 				}
// 			};

// 			$('[data-plugin="daterangepicker"]', context).each(function() {
// 				var options = $.extend(true, {}, defaults, defaults_ranges, $(this).data());

// 				$(this).daterangepicker(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);

// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("maxlength", {
// 		mode: "default",
// 		defaults: {}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("markdown", {
// 		mode: "init",
// 		defaults: {
// 			autofocus: false,
// 			savable: false,
// 			language: 'zh'
// 		},
// 		init: function(context) {
// 			if (!$.fn.markdown) {
// 				return;
// 			}

// 			var defaults = this.defaults;

// 			$('textarea[data-plugin="markdown"]', context).each(function() {
// 				var options = $.extend(true, {}, defaults, $(this).data());

// 				$(this).markdown(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("selectpicker", {
// 		mode: "default",
// 		defaults: {
// 			noneSelectedText: '请选择',
// 			noneResultsText: '没有找到匹配项',
// 			countSelectedText: '已选中{1}项中的{0}项',
// 			maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'],
// 			selectAllText: '选择全部',
// 			deselectAllText: '取消全部选择',
// 			doneButtonText: '关闭',
// 			style: "btn-select",
// 			iconBase: "icon",
// 			tickIcon: "wb-check"
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("bootstrapSlider", {
// 		defaults: {},
// 		mode: "default"
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("sweetalert", {
// 		mode: "api",
// 		defaults: {
// 			confirmButtonText: '确定',
// 			cancelButtonText: '取消'
// 		},
// 		api: function() {
// 			if (typeof swal === "undefined") {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("sweetalert");

// 			$(document).on('click.site.sweetalert', '[data-plugin="sweetalert"]', function() {
// 				var options = $.extend(true, {}, defaults, $(this).data());

// 				swal(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("tagsinput", {
// 		defaults: {
// 			tagClass: "label label-default"
// 		},
// 		mode: "default"
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("tokenfield", {
// 		mode: "default",
// 		defaults: {}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("TouchSpin", {
// 		mode: "default",
// 		defaults: {
// 			verticalupclass: "wb-plus",
// 			verticaldownclass: "wb-minus",
// 			buttondown_class: "btn btn-outline btn-default",
// 			buttonup_class: "btn btn-outline btn-default"
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("buttons", {
// 		mode: "api",
// 		defaults: {},
// 		api: function() {
// 			$('[data-loading-text]').unbind('click.site.loading').bind('click.site.loading', function() {
// 				var $btn = $(this),
// 					text = $btn.text(),
// 					i = 20,
// 					loadingText = $btn.data('loadingText');

// 				$btn.text(loadingText + '(' + i + ')').css('opacity', '.6');

// 				var timeout = setInterval(function() {
// 					$btn.text(loadingText + '(' + (--i) + ')');
// 					if (i === 0) {
// 						clearInterval(timeout);
// 						$btn.text(text).css('opacity', '1');
// 					}
// 				}, 1000);
// 			});
// 			$('[data-more]').unbind('click.site.morebutton').bind('click.site.morebutton', function() {
// 				var $target = $($(this).data('more'));
// 				$target.toggleClass('show');
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("card", {
// 		mode: "init",
// 		defaults: {},
// 		init: function(context) {
// 			if (!$.fn.card) {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults("card");

// 			$('[data-plugin="card"]', context).each(function() {
// 				var options = $.extend({}, defaults, $(this).data());

// 				if (options.target) {
// 					options.container = $(options.target);
// 				}
// 				$(this).card(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("clockpicker", {
// 		mode: "default"
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";
// 	$.components.register("dataTable", {
// 		defaults: {
// 			"bDeferLoading": true,
// 			"bProcessing": false,
// 			"iDisplayLength": 20, // 每页显示20条数据
// 			"bInfo": true, // 开关，是否显示表格的一些信息
// 			"bFilter": true, // 开关，是否启用客户端过滤器
// 			"bAutoWidth": false, // 自适应宽度
// 			"bDeferRender": false,
// 			"bPaginate": true, // 开关，是否显示（使用）分页器
// 			"sScrollX": true, //是否开启水平滚动，以及指定滚动区域大小,可设值：'disabled','2000%' //
// 			"bScrollInfinite": false, // 开关，以指定是否无限滚动（与
// 			"scrollY": 400,
// 			"scrollX": true,
// 			"bSort": true, // 开关，是否启用各列具有按列排序的功能 //
// 			"bSortClasses": true, // 开关，指定当当前列在排序时，是否增加 classes 'sorting_1',
// 			"bScrollCollapse": false, // 当设置sScrolly时 如果数据没那么高 表格是否自适应高度
// 			"bJQueryUI": false, // 开关，是否启用JQueryUI风格 导致导航框一直出不来
// 			"bStateSave": false, // 开关，是否打开客户端状态记录功能。这个数据是记录在cookies中的，打开了这个记录后，即使刷新一次页面，或重新打开浏览器，之前的状态都是保存下来的-
// 			"bLengthChange": true, // 开关，是否显示每页大小的下拉框
// 			"aLengthMenu": [30, 80, 120], // 这个为选择每页的条目数
// 			"sAjaxDataProp": "result.list",
// 			"sServerMethod": "post",
// 			"bServerSide": false,
// 			"sDom": "r<'data_table't><'main_table_info'<<'cl'lip>>>",
// 			"sPaginationType": "simple", // 指定当从服务端获取表格数据时，数据项使用的名字
// 			"oLanguage": {
// 				"sInfoEmpty": "无数据",
// 				"sProcessing": "正在加载数据,请稍后",
// 				"sLoadingRecords": "正在加载数据,请稍后",
// 				"sLengthMenu": "显示行数 _MENU_",
// 				"sZeroRecords": "暂无数据！",
// 				"sEmptyTable": "没有符合条件的数据！",
// 				"sInfo": "_PAGE_ / _PAGES_ &nbsp;&nbsp",
// 				"sInfoFiltered": "数据表中共为 _MAX_ 条记录",
// 				"sSearch": "搜索",
// 				"oPaginate": {
// 					"sFirst": "<button type='button'>首页</button>&nbsp;&nbsp;",
// 					"sPrevious": "<button type='button' id='goto_pre_page'>上一页</button>&nbsp;&nbsp;",
// 					"sNext": "<button type='button' id='goto_next_page'>下一页</button>",
// 					"sLast": "<button type='button'>末页</button>"
// 				}
// 				// 多语言配
// 			}
// 		}
// 		/*,
// 				init: function(context) {
// 					if (!$.fn.dataTable) {
// 						return;
// 					}
// 					var defaults = this.defaults;
// 					$('[data-plugin="dataTable"]', context).each(function() {
// 						var options = $.extend(true, {}, defaults, $(this).data());
// 						$(this).dataTable(options);
// 					});
// 				}*/
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("datepair", {
// 		mode: "default",
// 		defaults: {
// 			startClass: 'datepair-start',
// 			endClass: 'datepair-end',
// 			timeClass: 'datepair-time',
// 			dateClass: 'datepair-date'
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("dropify", {
// 		mode: "default",
// 		defaults: {
// 			messages: {
// 				'default': '单击或直接拖动需要上传的文件到此处',
// 				'replace': '将文件拖放到此处或单击此处替换',
// 				'remove': '移除',
// 				'error': '出错了…'
// 			},
// 			error: {
// 				'fileSize': '文件大小超出限制(文件大小不能超过{{ value }})。',
// 				'minWidth': '图片宽度太小(不能小于{{ value }}}px)。',
// 				'maxWidth': '图片宽度太大(不能大于{{ value }}}px)。',
// 				'minHeight': '图片高度太小(不能小于{{ value }}}px)。',
// 				'maxHeight': '图片高度太大(不能大于{{ value }}px)。',
// 				'imageFormat': '图片格式不支持(允许的格式为：{{ value }})。'
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("editableTable", {
// 		mode: "init",
// 		init: function(context) {
// 			if (!$.fn.editableTableWidget) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("editableTable");

// 			$('[data-plugin="editableTable"]', context).each(function() {
// 				var options = $.extend(true, {}, defaults, $(this).data());

// 				$(this).editableTableWidget(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("filterable", {
// 		mode: "init",
// 		defaults: {
// 			animationOptions: {
// 				duration: 750,
// 				easing: 'linear',
// 				queue: false
// 			}
// 		},
// 		init: function(context) {
// 			if (typeof $.fn.isotope === "undefined") {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults('filterable');

// 			var callback = function() {
// 				$('[data-filterable]', context).each(function() {
// 					var $this = $(this);

// 					var options = $.extend(true, {}, defaults, $this.data(), {
// 						filter: '*'
// 					});

// 					$this.isotope(options);
// 				});

// 				$('[data-filter]', context).click(function(e) {
// 					var $this = $(this);
// 					var target = $this.data('target');
// 					var $li = $this.parent('li');

// 					if (!target) {
// 						target = $this.attr('href');
// 						target = target && target.replace(/.*(?=#[^\s]*$)/, '');
// 					}

// 					$li.siblings('.active').each(function() {
// 						$(this).find('a').attr('aria-expanded', false);
// 						$(this).removeClass('active');
// 					});

// 					$li.addClass('active');
// 					$this.attr('aria-expanded', true);

// 					var $list = $(target, context);
// 					var filter = $this.attr('data-filter');
// 					if (filter !== '*') {
// 						filter = '[data-type="' + filter + '"]';
// 					}
// 					$list.isotope({
// 						filter: filter
// 					});

// 					e.preventDefault();
// 				});
// 			};

// 			if (context !== document) {
// 				callback();
// 			} else {
// 				$(window).on('load', function() {
// 					callback();
// 				});
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("iconpicker", {
// 		mode: "default",
// 		defaults: {
// 			fullClassFormatter: function(value) {
// 				return "icon " + value;
// 			},
// 			templates: {
// 				popover: '<div class="iconpicker-popover popover"><div class="arrow"></div>' + '<div class="popover-title"></div><div class="popover-content"></div></div>',
// 				footer: '<div class="popover-footer"></div>',
// 				buttons: '<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">取消</button>' + ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">确认</button>',
// 				search: '<input type="search" class="form-control iconpicker-search" placeholder="查找图标">',
// 				iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
// 				iconpickerItem: '<a role="button" href="#" class="iconpicker-item"><i></i></a>'
// 			},
// 			icons: ["fa-adjust", "fa-anchor", "fa-archive", "fa-area-chart", "fa-arrows", "fa-arrows-h", "fa-arrows-v", "fa-asterisk", "fa-at", "fa-automobile", "fa-ban", "fa-bank", "fa-bar-chart", "fa-bar-chart-o", "fa-barcode", "fa-bars", "fa-bed", "fa-beer", "fa-bell", "fa-bell-o", "fa-bell-slash", "fa-bell-slash-o", "fa-bicycle", "fa-binoculars", "fa-birthday-cake", "fa-bolt", "fa-bomb", "fa-book", "fa-bookmark", "fa-bookmark-o", "fa-briefcase", "fa-bug", "fa-building", "fa-building-o", "fa-bullhorn", "fa-bullseye", "fa-bus", "fa-cab", "fa-calculator", "fa-calendar", "fa-calendar-o", "fa-camera", "fa-camera-retro", "fa-car", "fa-caret-square-o-down", "fa-caret-square-o-left", "fa-caret-square-o-right", "fa-caret-square-o-up", "fa-cart-arrow-down", "fa-cart-plus", "fa-cc", "fa-certificate", "fa-check", "fa-check-circle", "fa-check-circle-o", "fa-check-square", "fa-check-square-o", "fa-child", "fa-circle", "fa-circle-o", "fa-circle-o-notch", "fa-circle-thin", "fa-clock-o", "fa-close", "fa-cloud", "fa-cloud-download", "fa-cloud-upload", "fa-code", "fa-code-fork", "fa-coffee", "fa-cog", "fa-cogs", "fa-comment", "fa-comment-o", "fa-comments", "fa-comments-o", "fa-compass", "fa-copyright", "fa-credit-card", "fa-crop", "fa-crosshairs", "fa-cube", "fa-cubes", "fa-cutlery", "fa-dashboard", "fa-database", "fa-desktop", "fa-diamond", "fa-dot-circle-o", "fa-download", "fa-edit", "fa-ellipsis-h", "fa-ellipsis-v", "fa-envelope", "fa-envelope-o", "fa-envelope-square", "fa-eraser", "fa-exchange", "fa-exclamation", "fa-exclamation-circle", "fa-exclamation-triangle", "fa-external-link", "fa-external-link-square", "fa-eye", "fa-eye-slash", "fa-eyedropper", "fa-fax", "fa-female", "fa-fighter-jet", "fa-file-archive-o", "fa-file-audio-o", "fa-file-code-o", "fa-file-excel-o", "fa-file-image-o", "fa-file-movie-o", "fa-file-pdf-o", "fa-file-photo-o", "fa-file-picture-o", "fa-file-powerpoint-o", "fa-file-sound-o", "fa-file-video-o", "fa-file-word-o", "fa-file-zip-o", "fa-film", "fa-filter", "fa-fire", "fa-fire-extinguisher", "fa-flag", "fa-flag-checkered", "fa-flag-o", "fa-flash", "fa-flask", "fa-folder", "fa-folder-o", "fa-folder-open", "fa-folder-open-o", "fa-frown-o", "fa-futbol-o", "fa-gamepad", "fa-gavel", "fa-gear", "fa-gears", "fa-genderless", "fa-gift", "fa-glass", "fa-globe", "fa-graduation-cap", "fa-group", "fa-hdd-o", "fa-headphones", "fa-heart", "fa-heart-o", "fa-heartbeat", "fa-history", "fa-home", "fa-hotel", "fa-image", "fa-inbox", "fa-info", "fa-info-circle", "fa-institution", "fa-key", "fa-keyboard-o", "fa-language", "fa-laptop", "fa-leaf", "fa-legal", "fa-lemon-o", "fa-level-down", "fa-level-up", "fa-life-bouy", "fa-life-buoy", "fa-life-ring", "fa-life-saver", "fa-lightbulb-o", "fa-line-chart", "fa-location-arrow", "fa-lock", "fa-magic", "fa-magnet", "fa-mail-forward", "fa-mail-reply", "fa-mail-reply-all", "fa-male", "fa-map-marker", "fa-meh-o", "fa-microphone", "fa-microphone-slash", "fa-minus", "fa-minus-circle", "fa-minus-square", "fa-minus-square-o", "fa-mobile", "fa-mobile-phone", "fa-money", "fa-moon-o", "fa-mortar-board", "fa-motorcycle", "fa-music", "fa-navicon", "fa-newspaper-o", "fa-paint-brush", "fa-paper-plane", "fa-paper-plane-o", "fa-paw", "fa-pencil", "fa-pencil-square", "fa-pencil-square-o", "fa-phone", "fa-phone-square", "fa-photo", "fa-picture-o", "fa-pie-chart", "fa-plane", "fa-plug", "fa-plus", "fa-plus-circle", "fa-plus-square", "fa-plus-square-o", "fa-power-off", "fa-print", "fa-puzzle-piece", "fa-qrcode", "fa-question", "fa-question-circle", "fa-quote-left", "fa-quote-right", "fa-random", "fa-recycle", "fa-refresh", "fa-remove", "fa-reorder", "fa-reply", "fa-reply-all", "fa-retweet", "fa-road", "fa-rocket", "fa-rss", "fa-rss-square", "fa-search", "fa-search-minus", "fa-search-plus", "fa-send", "fa-send-o", "fa-server", "fa-share", "fa-share-alt", "fa-share-alt-square", "fa-share-square", "fa-share-square-o", "fa-shield", "fa-ship", "fa-shopping-cart", "fa-sign-in", "fa-sign-out", "fa-signal", "fa-sitemap", "fa-sliders", "fa-smile-o", "fa-soccer-ball-o", "fa-sort", "fa-sort-alpha-asc", "fa-sort-alpha-desc", "fa-sort-amount-asc", "fa-sort-amount-desc", "fa-sort-asc", "fa-sort-desc", "fa-sort-down", "fa-sort-numeric-asc", "fa-sort-numeric-desc", "fa-sort-up", "fa-space-shuttle", "fa-spinner", "fa-spoon", "fa-square", "fa-square-o", "fa-star", "fa-star-half", "fa-star-half-empty", "fa-star-half-full", "fa-star-half-o", "fa-star-o", "fa-street-view", "fa-suitcase", "fa-sun-o", "fa-support", "fa-tablet", "fa-tachometer", "fa-tag", "fa-tags", "fa-tasks", "fa-taxi", "fa-terminal", "fa-thumb-tack", "fa-thumbs-down", "fa-thumbs-o-down", "fa-thumbs-o-up", "fa-thumbs-up", "fa-ticket", "fa-times", "fa-times-circle", "fa-times-circle-o", "fa-tint", "fa-toggle-down", "fa-toggle-left", "fa-toggle-off", "fa-toggle-on", "fa-toggle-right", "fa-toggle-up", "fa-trash", "fa-trash-o", "fa-tree", "fa-trophy", "fa-truck", "fa-tty", "fa-umbrella", "fa-university", "fa-unlock", "fa-unlock-alt", "fa-unsorted", "fa-upload", "fa-user", "fa-user-plus", "fa-user-secret", "fa-user-times", "fa-users", "fa-video-camera", "fa-volume-down", "fa-volume-off", "fa-volume-up", "fa-warning", "fa-wheelchair", "fa-wifi", "fa-wrench", "fa-ambulance", "fa-subway", "fa-train", "fa-mars", "fa-mars-double", "fa-mars-stroke", "fa-mars-stroke-h", "fa-mars-stroke-v", "fa-mercury", "fa-neuter", "fa-transgender", "fa-transgender-alt", "fa-venus", "fa-venus-double", "fa-venus-mars", "fa-file", "fa-file-o", "fa-file-text", "fa-file-text-o", "fa-cc-amex", "fa-cc-discover", "fa-cc-mastercard", "fa-cc-paypal", "fa-cc-stripe", "fa-cc-visa", "fa-google-wallet", "fa-paypal", "fa-bitcoin", "fa-btc", "fa-cny", "fa-dollar", "fa-eur", "fa-euro", "fa-gbp", "fa-ils", "fa-inr", "fa-jpy", "fa-krw", "fa-rmb", "fa-rouble", "fa-rub", "fa-ruble", "fa-rupee", "fa-shekel", "fa-sheqel", "fa-try", "fa-turkish-lira", "fa-usd", "fa-won", "fa-yen", "fa-align-center", "fa-align-justify", "fa-align-left", "fa-align-right", "fa-bold", "fa-chain", "fa-chain-broken", "fa-clipboard", "fa-columns", "fa-copy", "fa-cut", "fa-dedent", "fa-files-o", "fa-floppy-o", "fa-font", "fa-header", "fa-indent", "fa-italic", "fa-link", "fa-list", "fa-list-alt", "fa-list-ol", "fa-list-ul", "fa-outdent", "fa-paperclip", "fa-paragraph", "fa-paste", "fa-repeat", "fa-rotate-left", "fa-rotate-right", "fa-save", "fa-scissors", "fa-strikethrough", "fa-subscript", "fa-superscript", "fa-table", "fa-text-height", "fa-text-width", "fa-th", "fa-th-large", "fa-th-list", "fa-underline", "fa-undo", "fa-unlink", "fa-angle-double-down", "fa-angle-double-left", "fa-angle-double-right", "fa-angle-double-up", "fa-angle-down", "fa-angle-left", "fa-angle-right", "fa-angle-up", "fa-arrow-circle-down", "fa-arrow-circle-left", "fa-arrow-circle-o-down", "fa-arrow-circle-o-left", "fa-arrow-circle-o-right", "fa-arrow-circle-o-up", "fa-arrow-circle-right", "fa-arrow-circle-up", "fa-arrow-down", "fa-arrow-left", "fa-arrow-right", "fa-arrow-up", "fa-arrows-alt", "fa-caret-down", "fa-caret-left", "fa-caret-right", "fa-caret-up", "fa-chevron-circle-down", "fa-chevron-circle-left", "fa-chevron-circle-right", "fa-chevron-circle-up", "fa-chevron-down", "fa-chevron-left", "fa-chevron-right", "fa-chevron-up", "fa-hand-o-down", "fa-hand-o-left", "fa-hand-o-right", "fa-hand-o-up", "fa-long-arrow-down", "fa-long-arrow-left", "fa-long-arrow-right", "fa-long-arrow-up", "fa-backward", "fa-compress", "fa-eject", "fa-expand", "fa-fast-backward", "fa-fast-forward", "fa-forward", "fa-pause", "fa-play", "fa-play-circle", "fa-play-circle-o", "fa-step-backward", "fa-step-forward", "fa-stop", "fa-youtube-play", "fa-adn", "fa-android", "fa-angellist", "fa-apple", "fa-behance", "fa-behance-square", "fa-bitbucket", "fa-bitbucket-square", "fa-buysellads", "fa-codepen", "fa-connectdevelop", "fa-css3", "fa-dashcube", "fa-delicious", "fa-deviantart", "fa-digg", "fa-dribbble", "fa-dropbox", "fa-drupal", "fa-empire", "fa-facebook", "fa-facebook-f", "fa-facebook-official", "fa-facebook-square", "fa-flickr", "fa-forumbee", "fa-foursquare", "fa-ge", "fa-git", "fa-git-square", "fa-github", "fa-github-alt", "fa-github-square", "fa-gittip", "fa-google", "fa-google-plus", "fa-google-plus-square", "fa-gratipay", "fa-hacker-news", "fa-html5", "fa-instagram", "fa-ioxhost", "fa-joomla", "fa-jsfiddle", "fa-lastfm", "fa-lastfm-square", "fa-leanpub", "fa-linkedin", "fa-linkedin-square", "fa-linux", "fa-maxcdn", "fa-meanpath", "fa-medium", "fa-openid", "fa-pagelines", "fa-pied-piper", "fa-pied-piper-alt", "fa-pinterest", "fa-pinterest-p", "fa-pinterest-square", "fa-qq", "fa-ra", "fa-rebel", "fa-reddit", "fa-reddit-square", "fa-renren", "fa-sellsy", "fa-shirtsinbulk", "fa-simplybuilt", "fa-skyatlas", "fa-skype", "fa-slack", "fa-slideshare", "fa-soundcloud", "fa-spotify", "fa-stack-exchange", "fa-stack-overflow", "fa-steam", "fa-steam-square", "fa-stumbleupon", "fa-stumbleupon-circle", "fa-tencent-weibo", "fa-trello", "fa-tumblr", "fa-tumblr-square", "fa-twitch", "fa-twitter", "fa-twitter-square", "fa-viacoin", "fa-vimeo-square", "fa-vine", "fa-vk", "fa-wechat", "fa-weibo", "fa-weixin", "fa-whatsapp", "fa-windows", "fa-wordpress", "fa-xing", "fa-xing-square", "fa-yahoo", "fa-yelp", "fa-youtube", "fa-youtube-square", "fa-h-square", "fa-hospital-o", "fa-medkit", "fa-stethoscope", "fa-user-md"]
// 		}
// 	});

// 	$.components.register("iconpickerWb", {
// 		mode: "default",
// 		defaults: {
// 			fullClassFormatter: function(value) {
// 				return "icon " + value;
// 			},
// 			templates: {
// 				popover: '<div class="iconpicker-popover popover"><div class="arrow"></div>' + '<div class="popover-title"></div><div class="popover-content"></div></div>',
// 				footer: '<div class="popover-footer"></div>',
// 				buttons: '<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">取消</button>' + ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">确认</button>',
// 				search: '<input type="search" class="form-control iconpicker-search" placeholder="查找图标">',
// 				iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
// 				iconpickerItem: '<a role="button" href="#" class="iconpicker-item"><i></i></a>'
// 			},
// 			icons: ["wb-dashboard", "wb-inbox", "wb-cloud", "wb-bell", "wb-book", "wb-bookmark", "wb-tag", "wb-library", "wb-share", "wb-reply", "wb-refresh", "wb-move", "wb-chat", "wb-chat-working", "wb-chat-text", "wb-chat-group", "wb-envelope", "wb-envelope-open", "wb-user", "wb-user-circle", "wb-users", "wb-user-add", "wb-grid-9", "wb-grid-4", "wb-menu", "wb-layout", "wb-fullscreen", "wb-fullscreen-exit", "wb-expand", "wb-contract", "wb-arrow-expand", "wb-arrow-shrink", "wb-desktop", "wb-mobile", "wb-signal", "wb-power", "wb-more-horizontal", "wb-more-vertical", "wb-globe", "wb-map", "wb-flag", "wb-pie-chart", "wb-stats-bars", "wb-pluse", "wb-home", "wb-shopping-cart", "wb-payment", "wb-briefcase", "wb-search", "wb-zoom-in", "wb-zoom-out", "wb-download", "wb-upload", "wb-sort-asc", "wb-sort-des", "wb-graph-up", "wb-graph-down", "wb-replay", "wb-edit", "wb-pencil", "wb-rubber", "wb-crop", "wb-eye", "wb-eye-close", "wb-image", "wb-gallery", "wb-video", "wb-camera", "wb-folder", "wb-clipboard", "wb-order", "wb-file", "wb-copy", "wb-add-file", "wb-print", "wb-calendar", "wb-time", "wb-trash", "wb-plugin", "wb-extension", "wb-memory", "wb-settings", "wb-scissor", "wb-wrench", "wb-hammer", "wb-lock", "wb-unlock", "wb-volume-low", "wb-volume-high", "wb-volume-off", "wb-pause", "wb-play", "wb-stop", "wb-musical", "wb-random", "wb-reload", "wb-loop", "wb-text", "wb-bold", "wb-italic", "wb-underline", "wb-format-clear", "wb-text-type", "wb-table", "wb-attach-file", "wb-paperclip", "wb-link-intact", "wb-link", "wb-link-broken", "wb-indent-increase", "wb-indent-decrease", "wb-align-justify", "wb-align-left", "wb-align-center", "wb-align-right", "wb-list-numbered", "wb-list-bulleted", "wb-list", "wb-emoticon", "wb-quote-right", "wb-code", "wb-code-working", "wb-code-unfold", "wb-chevron-right", "wb-chevron-left", "wb-chevron-left-mini", "wb-chevron-right-mini", "wb-chevron-up", "wb-chevron-down", "wb-chevron-up-mini", "wb-chevron-down-mini", "wb-arrow-left", "wb-arrow-right", "wb-arrow-up", "wb-arrow-down", "wb-dropdown", "wb-dropup", "wb-dropright", "wb-dropleft", "wb-sort-vertical", "wb-triangle-left", "wb-triangle-right", "wb-triangle-down", "wb-triangle-up", "wb-check-circle", "wb-check", "wb-check-mini", "wb-close", "wb-close-mini", "wb-plus-circle", "wb-plus", "wb-minus-circle", "wb-minus", "wb-alert-circle", "wb-alert", "wb-help-circle", "wb-help", "wb-info-circle", "wb-info", "wb-warning", "wb-heart", "wb-heart-outline", "wb-star", "wb-star-half", "wb-star-outline", "wb-thumb-up", "wb-thumb-down", "wb-small-point", "wb-medium-point", "wb-large-point"]
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("formatter", {
// 		mode: "init",
// 		defaults: {
// 			persistent: true
// 		},

// 		init: function(context) {
// 			if (!$.fn.formatter) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("formatter"),
// 				browserName = navigator.userAgent.toLowerCase(),
// 				ieOptions;

// 			if (/msie/i.test(browserName) && !/opera/.test(browserName)) {
// 				ieOptions = {
// 					persistent: false
// 				};
// 			} else {
// 				ieOptions = {};
// 			}

// 			$('[data-plugin="formatter"]', context).each(function() {

// 				var options = $.extend({}, defaults, ieOptions, $(this).data());
// 				if (options.pattern) {
// 					options.pattern = options.pattern.replace(/\[\[/g, '{{').replace(/\]\]/g, '}}');
// 				}
// 				$(this).formatter(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("formValidation", {
// 		mode: "default",
// 		defaults: {
// 			locale: 'zh_CN',
// 			framework: 'bootstrap',
// 			excluded: ':disabled',
// 			icon: {
// 				valid: 'icon wb-check',
// 				invalid: 'icon wb-close',
// 				validating: 'icon wb-refresh'
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("gauge", {
// 		mode: "init",
// 		defaults: {
// 			lines: 12,
// 			angle: 0.12,
// 			lineWidth: 0.4,
// 			pointer: {
// 				length: 0.68,
// 				strokeWidth: 0.03,
// 				color: $.colors("blue-grey", 400)
// 			},
// 			limitMax: true,
// 			colorStart: $.colors("blue-grey", 200),
// 			colorStop: $.colors("blue-grey", 200),
// 			strokeColor: $.colors("purple", 500),
// 			generateGradient: true
// 		},
// 		init: function(context) {
// 			if (typeof Gauge === undefined) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("gauge");

// 			$('[data-plugin="gauge"]', context).each(function() {
// 				var $this = $(this),
// 					options = $this.data(),
// 					$text = $this.find('.gauge-label'),
// 					$canvas = $this.find("canvas");

// 				options = $.extend(true, {}, defaults, options);

// 				if ($canvas.length === 0) {
// 					return;
// 				}

// 				var gauge = new Gauge($canvas[0]).setOptions(options);

// 				$this.data("gauge", gauge);

// 				gauge.animationSpeed = 50;
// 				gauge.maxValue = $this.data('max-value');

// 				gauge.set($this.data("value"));

// 				if ($text.length > 0) {
// 					gauge.setTextField($text[0]);
// 				}
// 			});
// 		}
// 	});

// 	$.components.register("donut", {
// 		mode: "init",
// 		defaults: {
// 			lines: 12,
// 			angle: 0.3,
// 			lineWidth: 0.08,
// 			pointer: {
// 				length: 0.9,
// 				strokeWidth: 0.035,
// 				color: $.colors("blue-grey", 400)
// 			},
// 			limitMax: false, // If true, the pointer will not go past the end of the gauge
// 			colorStart: $.colors("blue-grey", 200),
// 			colorStop: $.colors("blue-grey", 200),
// 			strokeColor: $.colors("purple", 500),
// 			generateGradient: true
// 		},
// 		init: function(context) {
// 			if (typeof Gauge === undefined) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("donut");

// 			$('[data-plugin="donut"]', context).each(function() {

// 				var $this = $(this),
// 					options = $this.data(),
// 					$text = $this.find('.donut-label'),
// 					$canvas = $this.find("canvas");

// 				options = $.extend(true, {}, defaults, options);

// 				if ($canvas.length === 0) {
// 					return;
// 				}

// 				var donut = new Donut($canvas[0]).setOptions(options);

// 				$this.data("donut", donut);

// 				donut.animationSpeed = 50;
// 				donut.maxValue = $this.data('max-value');

// 				donut.set($this.data("value"));

// 				if ($text.length > 0) {
// 					donut.setTextField($text[0]);
// 				}
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("gridstack", {
// 		mode: "init",
// 		defaults: {
// 			cellHeight: 80,
// 			verticalMargin: 20
// 		},
// 		init: function(context) {
// 			if (!$.fn.gridstack) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("gridstack");

// 			$('[data-plugin="gridstack"]', context).each(function() {
// 				var options = $.extend(true, {}, defaults, $(this).data());

// 				$(this).gridstack(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("highlight", {
// 		mode: "init",
// 		defaults: {},
// 		init: function(context) {
// 			if (typeof hljs === "undefined") {
// 				return;
// 			}

// 			$('[data-plugin="highlight"]', context).each(function(i, block) {
// 				hljs.highlightBlock(block);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("sortable", {
// 		defaults: {},
// 		mode: "default"
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("iCheck", {
// 		mode: "default",
// 		defaults: {}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("input-group-file", {
// 		api: function() {
// 			$(document).on("change", ".input-group-file [type=file]", function() {
// 				var $this = $(this);
// 				var $text = $(this).parents('.input-group-file').find('.form-control');
// 				var value = "";

// 				$.each($this[0].files, function(i, file) {
// 					value += file.name + ", ";
// 				});
// 				value = value.substring(0, value.length - 2);

// 				$text.val(value);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("isotope", {
// 		mode: "init",
// 		defaults: {},
// 		init: function(context) {
// 			if (typeof $.fn.isotope === "undefined") {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults('isotope');

// 			var callback = function() {
// 				$('[data-plugin="isotope"]', context).each(function() {
// 					var $this = $(this),
// 						options = $.extend(true, {}, defaults, $this.data());

// 					$this.isotope(options);
// 				});
// 			};
// 			if (context !== document) {
// 				callback();
// 			} else {
// 				$(window).on('load', function() {
// 					callback();
// 				});
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("appear", {
// 		defaults: {},
// 		api: function() {
// 			if (!$.fn.appear) {
// 				return;
// 			}

// 			$("#wd-pageContent").on("appear", '[data-plugin="appear"]', function() {
// 				var $item = $(this),
// 					animate = $item.data("animate");

// 				if ($item.hasClass('appear-no-repeat')) {
// 					return;
// 				}
// 				$item.removeClass("invisible").addClass('animation-' + animate);

// 				if ($item.data("repeat") === false) {
// 					$item.addClass('appear-no-repeat');
// 				}
// 			});

// 			$("#wd-pageContent").on("disappear", '[data-plugin="appear"]', function() {
// 				var $item = $(this),
// 					animate = $item.data("animate");

// 				if ($item.hasClass('appear-no-repeat')) {
// 					return;
// 				}

// 				$item.addClass("invisible").removeClass('animation-' + animate);
// 			});
// 		},

// 		init: function(context) {
// 			if (!$.fn.appear) {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults("appear");

// 			$('[data-plugin="appear"]', context).appear(defaults);
// 			$('[data-plugin="appear"]', context).not(':appeared').addClass("invisible");
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("knob", {
// 		mode: "default",
// 		defaults: {
// 			min: -50,
// 			max: 50,
// 			width: 120,
// 			height: 120,
// 			thickness: ".1"
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("labelauty", {
// 		mode: "default",
// 		defaults: {
// 			same_width: true,
// 			checked_label: "选中",
// 			unchecked_label: "未选中"
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("strength", {
// 		mode: "default",
// 		defaults: {
// 			showMeter: true,
// 			showToggle: false,

// 			templates: {
// 				toggle: '<div class="checkbox-custom checkbox-primary show-password-wrap"><input type="checkbox" class="{toggleClass}" title="显示/隐藏密码" id="show_password" /><label for="show_password">显示密码</label></div>',
// 				meter: '<div class="{meterClass}">{score}</div>',
// 				score: '<div class="{scoreClass}"></div>',
// 				main: '<div class="{containerClass}">{input}{meter}{toggle}</div>'
// 			},

// 			classes: {
// 				container: 'strength-container',
// 				status: 'strength-{status}',
// 				input: 'strength-input',
// 				toggle: 'strength-toggle',
// 				meter: 'strength-meter',
// 				score: 'strength-score'
// 			},

// 			scoreLables: {
// 				invalid: 'Invalid',
// 				weak: 'Weak',
// 				good: 'Good',
// 				strong: 'Strong'
// 			},

// 			scoreClasses: {
// 				invalid: 'strength-invalid',
// 				weak: 'strength-weak',
// 				good: 'strength-good',
// 				strong: 'strength-strong'
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("treegrid", {
// 		mode: "default",
// 		defaults: {
// 			expanderExpandedClass: 'icon wb-triangle-down',
// 			expanderCollapsedClass: 'icon wb-triangle-right'
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("wizard", {
// 		mode: "default",
// 		defaults: {
// 			step: ".steps .step, .pearls .pearl",
// 			buttonLabels: {
// 				back: '上一步',
// 				next: '下一步',
// 				finish: '完成'
// 			},
// 			templates: {
// 				buttons: function() {
// 					var options = this.options;
// 					return '<div class="wizard-buttons">' +
// 						'<a class="btn btn-default btn-outline" href="#' + this.id + '" data-wizard="back" role="button">' + options.buttonLabels.back + '</a>' +
// 						'<a class="btn btn-primary btn-outline pull-right" href="#' + this.id + '" data-wizard="next" role="button">' + options.buttonLabels.next + '</a>' +
// 						'<a class="btn btn-success btn-outline pull-right" href="#' + this.id + '" data-wizard="finish" role="button">' + options.buttonLabels.finish + '</a>' +
// 						'</div>';
// 				}
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("jstree", {
// 		mode: "default",
// 		defaults: {}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("timepicker", {
// 		mode: "default",
// 		defaults: {
// 			lang: {
// 				am: '上午',
// 				pm: '下午',
// 				AM: '上午',
// 				PM: '下午',
// 				decimal: '.',
// 				mins: '分钟',
// 				hr: '小时',
// 				hrs: '小时'
// 			},
// 			timeFormat: 'ag:i'
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	/*global Ladda*/

// 	$.components.register("ladda", {
// 		mode: "init",
// 		defaults: {
// 			timeout: 2000
// 		},
// 		init: function() {
// 			if (typeof Ladda === "undefined") {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("ladda");
// 			Ladda.bind('[data-plugin="ladda"]', defaults);
// 		}
// 	});

// 	$.components.register("laddaProgress", {
// 		mode: "init",
// 		defaults: {},
// 		init: function() {
// 			if (typeof Ladda === 'undefined') {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("laddaProgress"),
// 				options = $.extend({}, defaults, {
// 					callback: function(instance) {
// 						var progress = 0;
// 						var interval = setInterval(function() {
// 							progress = Math.min(progress + Math.random() * 0.1, 1);
// 							instance.setProgress(progress);

// 							if (progress === 1) {
// 								instance.stop();
// 								clearInterval(interval);
// 							}
// 						}, 300);
// 					}
// 				});
// 			Ladda.bind('[data-plugin="laddaProgress"]', options);
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("magnificPopup", {
// 		mode: "default",
// 		defaults: {
// 			type: "image",
// 			closeOnContentClick: true,
// 			/*image: {
// 			    verticalFit: true
// 			},*/
// 			tClose: '关闭 (ESC)',
// 			tLoading: '加载中...',
// 			gallery: {
// 				tPrev: '上一张',
// 				tNext: '下一张',
// 				tCounter: '%curr% / %total%'
// 			},
// 			image: {
// 				tError: '<a href="%url%" target="_blank">图片</a> 加载失败'
// 			},
// 			ajax: {
// 				tError: '<a href="%url%" target="_blank">内容</a> 加载失败'
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("masonry", {
// 		mode: "init",
// 		defaults: {
// 			itemSelector: ".masonry-item"
// 		},
// 		init: function(context) {
// 			if (typeof $.fn.masonry === "undefined") {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults('masonry');

// 			//var callback = function () {
// 			$('[data-plugin="masonry"]', context).each(function() {
// 				var $this = $(this),
// 					options = $.extend(true, {}, defaults, $this.data());

// 				$this.masonry(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("matchHeight", {
// 		mode: "init",
// 		defaults: {},
// 		init: function(context) {
// 			if (typeof $.fn.matchHeight === "undefined") {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults('matchHeight');

// 			$('[data-plugin="matchHeight"]', context).each(function() {
// 				var $this = $(this),
// 					options = $.extend(true, {}, defaults, $this.data()),
// 					matchSelector = $this.data('matchSelector');

// 				if (matchSelector) {
// 					$this.find(matchSelector).matchHeight(options);
// 				} else {
// 					$this.children().matchHeight(options);
// 				}

// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("material", {
// 		init: function(context) {
// 			$('.form-material', context).each(function() {
// 				var $this = $(this);

// 				if ($this.data('material') === true) {
// 					return;
// 				}

// 				var $control = $this.find('.form-control');

// 				// Add hint label if required
// 				if ($control.attr("data-hint")) {
// 					$control.after("<div class=hint>" + $control.attr("data-hint") + "</div>");
// 				}

// 				if ($this.hasClass("floating")) {
// 					// Add floating label if required
// 					if ($control.hasClass("floating-label")) {
// 						var placeholder = $control.attr("placeholder");
// 						$control.attr("placeholder", null).removeClass("floating-label");
// 						$control.after("<div class=floating-label>" + placeholder + "</div>");
// 					}

// 					// Set as empty if is empty
// 					if ($control.val() === null || $control.val() === "undefined" || $control.val() === "") {
// 						$control.addClass("empty");
// 					}
// 				}

// 				// Support for file input
// 				if ($control.next().is("[type=file]")) {
// 					$this.addClass('form-material-file');
// 				}

// 				$this.data('material', true);
// 			});
// 		},
// 		api: function() {
// 			function _isChar(e) {
// 				if (typeof e.which === "undefined") {
// 					return true;
// 				} else if (typeof e.which === "number" && e.which > 0) {
// 					return !e.ctrlKey && !e.metaKey && !e.altKey && e.which !== 8 && e.which !== 9;
// 				}
// 				return false;
// 			}

// 			$(document).on("keydown.site.material paste.site.material", ".form-control", function(e) {
// 					if (_isChar(e)) {
// 						$(this).removeClass("empty");
// 					}
// 				}).on("keyup.site.material change.site.material", ".form-control", function() {
// 					var $this = $(this);
// 					if ($this.val() === "" && (typeof $this[0].checkValidity !== "undefined" && $this[0].checkValidity())) {
// 						$this.addClass("empty");
// 					} else {
// 						$this.removeClass("empty");
// 					}
// 				}).on("focus", ".form-material-file", function() {
// 					$(this).find("input").addClass("focus");
// 				})
// 				.on("blur", ".form-material-file", function() {
// 					$(this).find("input").removeClass("focus");
// 				})
// 				.on("change", ".form-material-file [type=file]", function() {
// 					var $this = $(this);
// 					var value = "";
// 					$.each($this[0].files, function(i, file) {
// 						value += file.name + ", ";
// 					});
// 					value = value.substring(0, value.length - 2);
// 					if (value) {
// 						$this.prev().removeClass("empty");
// 					} else {
// 						$this.prev().addClass("empty");
// 					}
// 					$this.prev().val(value);
// 				});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("multiSelect", {
// 		mode: "default",
// 		defaults: {}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("nestable", {
// 		mode: "default",
// 		defaults: {}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("nprogress", {
// 		mode: "init",
// 		defaults: {
// 			minimum: 0.15,
// 			trickleRate: 0.07,
// 			trickleSpeed: 360,
// 			showSpinner: false,
// 			template: '<div class="bar" role="bar"></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
// 		},
// 		init: function() {
// 			if (typeof NProgress === "undefined") {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults('nprogress');
// 			NProgress.configure(defaults);
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("owlCarousel", {
// 		mode: "default",
// 		defaults: {
// 			loop: true,
// 			nav: true,
// 			dots: false,
// 			dotsClass: "owl-dots owl-dots-fall",
// 			responsive: {
// 				0: {
// 					items: 1
// 				},
// 				600: {
// 					items: 3
// 				}
// 			}
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("panel", {
// 		api: function() {
// 			$('[data-toggle="panel-fullscreen"]').unbind('click.site.panel').bind('click.site.panel', function(e) {
// 				// $(document).on('click.site.panel', '[data-toggle="panel-fullscreen"]', function(e) {
// 				e.preventDefault();
// 				var $this = $(this),
// 					$panel = $this.closest('.panel');

// 				var api = $panel.data('panel-api');
// 				api.toggleFullscreen();
// 			});

// 			$('[data-toggle="panel-collapse"]').unbind('click.site.panel').bind('click.site.panel', function(e) {
// 				// $(document).on('click.site.panel', '[data-toggle="panel-collapse"]', function(e) {
// 				e.preventDefault();
// 				var $this = $(this),
// 					$panel = $this.closest('.panel');

// 				var api = $panel.data('panel-api');
// 				api.toggleContent();
// 			});

// 			$('[data-toggle="panel-close"]').unbind('click.site.panel').bind('click.site.panel', function(e) {
// 				// $(document).on('click.site.panel', '[data-toggle="panel-close"]', function(e) {
// 				e.preventDefault();
// 				var $this = $(this),
// 					$panel = $this.closest('.panel');

// 				var api = $panel.data('panel-api');
// 				api.close();
// 			});

// 			$('[data-toggle="panel-refresh"]').unbind('click.site.panel').bind('click.site.panel', function(e) {
// 				// $(document).on('click.site.panel', '[data-toggle="panel-refresh"]', function(e) {
// 				e.preventDefault();
// 				var $this = $(this);
// 				var $panel = $this.closest('.panel');

// 				var api = $panel.data('panel-api');
// 				var callback = $this.data('loadCallback');

// 				if ($.isFunction(window[callback])) {
// 					api.load(window[callback]);
// 				} else {
// 					api.load();
// 				}
// 			});
// 		},

// 		init: function(context) {
// 			$('.panel', context).each(function() {
// 				var $this = $(this);

// 				var isFullscreen = false;
// 				var isClose = false;
// 				var isCollapse = false;
// 				var isLoading = false;

// 				var $fullscreen = $this.find('[data-toggle="panel-fullscreen"]');
// 				var $collapse = $this.find('[data-toggle="panel-collapse"]');
// 				var $loading;
// 				var self = this;

// 				if ($this.hasClass('is-collapse')) {
// 					isCollapse = true;
// 				}

// 				var api = {
// 					load: function(callback) {
// 						var type = $this.data('loader-type');
// 						if (!type) {
// 							type = 'default';
// 						}

// 						$loading = $('<div class="panel-loading">' +
// 							'<div class="loader loader-' + type + '"></div>' +
// 							'</div>');

// 						$loading.appendTo($this);

// 						$this.addClass('is-loading');
// 						$this.trigger('loading.uikit.panel');
// 						isLoading = true;

// 						if ($.isFunction(callback)) {
// 							callback.call(self, this.done);
// 						}
// 					},
// 					done: function() {
// 						if (isLoading === true) {
// 							$loading.remove();
// 							$this.removeClass('is-loading');
// 							$this.trigger('loading.done.uikit.panel');
// 						}
// 					},
// 					toggleContent: function() {
// 						if (isCollapse) {
// 							this.showContent();
// 						} else {
// 							this.hideContent();
// 						}
// 					},

// 					showContent: function() {
// 						if (isCollapse !== false) {
// 							$this.removeClass('is-collapse');

// 							if ($collapse.hasClass('wb-plus')) {
// 								$collapse.removeClass('wb-plus').addClass('wb-minus');
// 							}

// 							$this.trigger('shown.uikit.panel');

// 							isCollapse = false;
// 						}
// 					},

// 					hideContent: function() {
// 						if (isCollapse !== true) {
// 							$this.addClass('is-collapse');

// 							if ($collapse.hasClass('wb-minus')) {
// 								$collapse.removeClass('wb-minus').addClass('wb-plus');
// 							}

// 							$this.trigger('hidden.uikit.panel');
// 							isCollapse = true;
// 						}
// 					},

// 					toggleFullscreen: function() {
// 						if (isFullscreen) {
// 							this.leaveFullscreen();
// 						} else {
// 							this.enterFullscreen();
// 						}
// 					},
// 					enterFullscreen: function() {
// 						if (isFullscreen !== true) {
// 							$this.addClass('is-fullscreen');

// 							if ($fullscreen.hasClass('wb-expand')) {
// 								$fullscreen.removeClass('wb-expand').addClass('wb-contract');
// 							}

// 							$this.trigger('enter.fullscreen.uikit.panel');
// 							isFullscreen = true;
// 						}
// 					},
// 					leaveFullscreen: function() {
// 						if (isFullscreen !== false) {
// 							$this.removeClass('is-fullscreen');

// 							if ($fullscreen.hasClass('wb-contract')) {
// 								$fullscreen.removeClass('wb-contract').addClass('wb-expand');
// 							}

// 							$this.trigger('leave.fullscreen.uikit.panel');
// 							isFullscreen = false;
// 						}
// 					},
// 					toggle: function() {
// 						if (isClose) {
// 							this.open();
// 						} else {
// 							this.close();
// 						}
// 					},
// 					open: function() {
// 						if (isClose !== false) {
// 							$this.removeClass('is-close');
// 							$this.trigger('open.uikit.panel');

// 							isClose = false;
// 						}
// 					},
// 					close: function() {
// 						if (isClose !== true) {

// 							$this.addClass('is-close');
// 							$this.trigger('close.uikit.panel');

// 							isClose = true;
// 						}
// 					}
// 				};

// 				$this.data('panel-api', api);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("peityBar", {
// 		mode: "init",
// 		defaults: {
// 			delimiter: ",",
// 			fill: [$.colors("purple", 400)],
// 			height: 18,
// 			max: null,
// 			min: 0,
// 			padding: 0.1,
// 			width: 44
// 		},
// 		init: function(context) {
// 			if (!$.fn.peity) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("peityBar");

// 			$('[data-plugin="peityBar"]', context).each(function() {
// 				var $this = $(this),
// 					options = $this.data();

// 				if (options.skin) {
// 					if ($.colors(options.skin)) {
// 						var skinColors = $.colors(options.skin);
// 						defaults.fill = [skinColors[400]];
// 					}
// 				}

// 				options = $.extend(true, {}, defaults, options);

// 				$this.peity('bar', options);
// 			});
// 		}
// 	});

// 	$.components.register("peityDonut", {
// 		mode: "init",
// 		defaults: {
// 			delimiter: null,
// 			fill: [$.colors("purple", 700), $.colors("purple", 400), $.colors("purple", 200)],
// 			height: null,
// 			innerRadius: null,
// 			radius: 11,
// 			width: null
// 		},
// 		init: function(context) {
// 			if (!$.fn.peity) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("peityDonut");

// 			$('[data-plugin="peityDonut"]', context).each(function() {
// 				var $this = $(this),
// 					options = $this.data();

// 				if (options.skin) {
// 					if ($.colors(options.skin)) {
// 						var skinColors = $.colors(options.skin);
// 						defaults.fill = [skinColors[700], skinColors[400], skinColors[200]];
// 					}
// 				}

// 				options = $.extend(true, {}, defaults, options);

// 				$this.peity('donut', options);
// 			});
// 		}
// 	});

// 	$.components.register("peityLine", {
// 		mode: "init",
// 		defaults: {
// 			delimiter: ",",
// 			fill: [$.colors("purple", 200)],
// 			height: 18,
// 			max: null,
// 			min: 0,
// 			stroke: $.colors("purple", 600),
// 			strokeWidth: 1,
// 			width: 44
// 		},
// 		init: function(context) {
// 			if (!$.fn.peity) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("peityLine");

// 			$('[data-plugin="peityLine"]', context).each(function() {
// 				var $this = $(this),
// 					options = $this.data();

// 				if (options.skin) {
// 					if ($.colors(options.skin)) {
// 						var skinColors = $.colors(options.skin);
// 						defaults.fill = [skinColors[200]];
// 						defaults.stroke = skinColors[600];
// 					}
// 				}

// 				options = $.extend(true, {}, defaults, options);

// 				$this.peity('line', options);
// 			});
// 		}
// 	});

// 	$.components.register("peityPie", {
// 		mode: "init",
// 		defaults: {
// 			delimiter: null,
// 			fill: [$.colors("purple", 700), $.colors("purple", 400), $.colors("purple", 200)],
// 			height: null,
// 			radius: 11,
// 			width: null
// 		},
// 		init: function(context) {
// 			if (!$.fn.peity) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("peityPie");

// 			$('[data-plugin="peityPie"]', context).each(function() {

// 				var $this = $(this),
// 					options = $this.data();

// 				if (options.skin) {
// 					if ($.colors(options.skin)) {
// 						var skinColors = $.colors(options.skin);
// 						defaults.fill = [skinColors[700], skinColors[400], skinColors[200]];
// 					}
// 				}

// 				options = $.extend(true, {}, defaults, options);

// 				$this.peity('pie', options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	/*global plyr*/

// 	$.components.register("plyr", {
// 		mode: "init",
// 		default: {
// 			i18n: {
// 				restart: "重新开始",
// 				rewind: "向后 {seektime} 秒",
// 				play: "播放",
// 				pause: "暂停",
// 				forward: "向前 {seektime} 秒",
// 				buffered: "缓冲",
// 				currentTime: "当前时间",
// 				duration: "持续时间",
// 				volume: "声音",
// 				toggleMute: "切换静音",
// 				toggleCaptions: "切换字幕",
// 				toggleFullscreen: "切换全屏"
// 			}
// 		},
// 		init: function() {
// 			if (typeof plyr === "undefined") {
// 				return;
// 			}

// 			(function(d, u) {
// 				var a = new XMLHttpRequest(),
// 					b = d.body;

// 				// Check for CORS support
// 				if ("withCredentials" in a) {
// 					a.open("GET", u, true);
// 					a.send();
// 					a.onload = function() {
// 						var c = d.createElement("div");
// 						c.style.display = "none";
// 						c.innerHTML = a.responseText;
// 						b.insertBefore(c, b.childNodes[0]);
// 					};
// 				}
// 			})(document, "https://cdn.plyr.io/1.1.5/sprite.svg");

// 			plyr.setup();
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("rating", {
// 		mode: "init",
// 		defaults: {
// 			targetKeep: true,
// 			icon: "font",
// 			starType: "i",
// 			starOff: "icon wb-star",
// 			starOn: "icon wb-star orange-600",
// 			cancelOff: "icon wb-minus-circle",
// 			cancelOn: "icon wb-minus-circle orange-600",
// 			starHalf: "icon wb-star-half orange-500",
// 			cancelHint: '取消评分',
// 			hints: ['很差', '差', '一般', '好', '非常好']
// 		},
// 		init: function(context) {
// 			if (!$.fn.raty) {
// 				return;
// 			}

// 			var defaults = this.defaults;

// 			$('[data-plugin="rating"]', context).each(function() {
// 				var $this = $(this);

// 				var options = $.extend(true, {}, defaults, $this.data());


// 				if (options.hints && typeof options.hints === 'string') {
// 					options.hints = options.hints.split(',');
// 				}

// 				$this.raty(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("select2", {
// 		mode: "default",
// 		defaults: {
// 			width: "style",
// 			language: "zh-CN"
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("selectable", {
// 		mode: "init",
// 		defaults: {
// 			allSelector: '.selectable-all',
// 			itemSelector: '.selectable-item',
// 			rowSelector: 'tr',
// 			rowSelectable: false,
// 			rowActiveClass: 'active',
// 			onChange: null
// 		},
// 		init: function(context) {
// 			if (!$.fn.asSelectable) {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults('selectable');

// 			$('[data-plugin="selectable"], [data-selectable="selectable"]', context).each(function() {
// 				var options = $.extend({}, defaults, $(this).data());
// 				$(this).asSelectable(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("slidePanel", {
// 		mode: "manual",
// 		defaults: {
// 			closeSelector: '.slidePanel-close',
// 			mouseDragHandler: '.slidePanel-handler',
// 			loading: {
// 				template: function(options) {
// 					return '<div class="' + options.classes.loading + '">' +
// 						'<div class="loader loader-default"></div>' +
// 						'</div>';
// 				},
// 				showCallback: function(options) {
// 					this.$el.addClass(options.classes.loading + '-show');
// 				},
// 				hideCallback: function(options) {
// 					this.$el.removeClass(options.classes.loading + '-show');
// 				}
// 			}
// 		}
// 	});
// })(window, document, jQuery);

// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("slimScroll", {
// 		mode: "init",
// 		defaults: {
// 			height: '100%',
// 			size: '4px',
// 			color: $.configs.colors['blue-grey']['500'],
// 			position: 'right',
// 			distance: '4px',
// 			railVisible: true,
// 			railColor: $.configs.colors['blue-grey']['300'],
// 			railOpacity: 0.1,
// 			railDraggable: true,
// 			wheelStep: 15,
// 			borderRadius: '4px',
// 			railBorderRadius: '4px'
// 		},
// 		init: function(context) {
// 			$(context).find('[data-plugin="scroll"]')['slimScroll'](this.defaults);
// 		}
// 	});

// })(window, document, jQuery);

// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("summernote", {
// 		mode: "default",
// 		defaults: {
// 			height: 300
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	/*global Switchery*/

// 	$.components.register("switchery", {
// 		mode: "init",
// 		defaults: {
// 			color: $.colors("purple", 600)
// 		},
// 		init: function(context) {
// 			if (typeof Switchery === "undefined") {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("switchery");

// 			$('[data-plugin="switchery"]', context).each(function() {
// 				var options = $.extend({}, defaults, $(this).data());

// 				new Switchery(this, options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("table", {
// 		mode: "api",
// 		api: function() {

// 			var touch = typeof document.ontouchstart !== 'undefined',
// 				type = 'click';

// 			if (touch) {
// 				type = 'touchstart';
// 			}

// 			$(document).on(type, '.table-section', function(e) {
// 				if ("checkbox" !== e.target.type && "button" !== e.target.type && "a" !== e.target.tagName.toLowerCase() && !$(e.target).parent("div.checkbox-custom").length) {
// 					if ($(this).hasClass("active")) {
// 						$(this).removeClass("active");
// 					} else {
// 						$(this).siblings('.table-section').removeClass("active");
// 						$(this).addClass("active");
// 					}
// 				}
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function() {
// 	"use strict"
// 	$.components.register("niceScroll", {
// 		mode: "default",
// 		defaults: {
// 			cursorcolor: "#bdc5ca", // #CC0071 光标颜色
// 			cursoropacitymax: 1, // 改变不透明度非常光标处于活动状态（scrollabar“可见”状态），范围从1到0
// 			touchbehavior: false, // 使光标拖动滚动像在台式电脑触摸设备
// 			cursorwidth: "4px", //滚动条的宽度，单位：便素
// 			cursorborder: "1", // 游标边框css定义
// 			cursorborderradius: "2px", // 以像素为光标边界半径
// 			autohidemode: false,
// 			scrollspeed: 60, // 滚动速度，默认值为60
// 			railpadding: {
// 				top: 0.5,
// 				right: 0.5,
// 				left: 0.5,
// 				bottom: 0.5
// 			}, // 设置轨道的内间距
// 			oneaxismousemode: "false" // 当只有水平滚动时可以用鼠标滚轮来滚动，如果设为false则不支持水平滚动，如果设为auto支持双轴滚动

// 		}
// 	});
// })();
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("verticalTab", {
// 		mode: "init",
// 		init: function(context) {
// 			if (!$.fn.matchHeight) {
// 				return;
// 			}

// 			$('.nav-tabs-vertical', context).each(function() {
// 				$(this).children().matchHeight();
// 			});
// 		}
// 	});

// 	$.components.register("horizontalTab", {
// 		mode: "init",
// 		init: function(context) {
// 			if (!$.fn.responsiveHorizontalTabs) {
// 				return;
// 			}

// 			var $nav = $('[data-approve="nav-tabs"]', context);
// 			$nav.each(function() {
// 				var $item = $(this),
// 					options = $.extend(true, {}, $item.data());

// 				$item.responsiveHorizontalTabs(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("taskList", {
// 		mode: "api",
// 		api: function() {
// 			$(document).on('change.site.task', '[data-role="task"]', function() {
// 				var $list = $(this),
// 					$checkbox = $list.find('[type="checkbox"]');
// 				if ($checkbox.is(':checked')) {
// 					$list.addClass('task-done');
// 				} else {
// 					$list.removeClass('task-done');
// 				}
// 			});

// 			$('[data-role="task"]').trigger('change.site.task');
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("toastr", {
// 		mode: "api",
// 		defaults: {},
// 		api: function() {
// 			if (typeof toastr === "undefined") {
// 				return;
// 			}
// 			var defaults = $.components.getDefaults("toastr");

// 			$('#wd-pageContent').on('click.site.toastr', '[data-plugin="toastr"]', function(e) {
// 				e.preventDefault();

// 				var $this = $(this),
// 					options = $.extend(true, {}, defaults, $this.data()),
// 					message = options.message || '',
// 					type = options.type || "info",
// 					title = options.title || undefined;

// 				switch (type) {
// 					case "success":
// 						toastr.success(message, title, options);
// 						break;
// 					case "warning":
// 						toastr.warning(message, title, options);
// 						break;
// 					case "error":
// 						toastr.error(message, title, options);
// 						break;
// 					case "info":
// 						toastr.info(message, title, options);
// 						break;
// 					default:
// 						toastr.info(message, title, options);
// 				}
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("toolbar", {
// 		mode: "init",
// 		defaults: {
// 			adjustment: 15,
// 			zIndex: 1900
// 		},
// 		init: function(context) {
// 			if (!$.fn.toolbar) {
// 				return;
// 			}

// 			var defaults = $.components.getDefaults("toolbar");

// 			$('[data-plugin="toolbar"]', context).each(function() {
// 				var $this = $(this);
// 				var content = $this.data("toolbar");

// 				var options = $.extend(true, {}, defaults);

// 				if (content) {
// 					options.content = content;
// 				}

// 				$this.toolbar(options);
// 			});
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("twbsPagination", {
// 		mode: "default",
// 		defaults: {
// 			first: '<span class="icon fa-angle-double-left" title="第一页"></span>',
// 			prev: '<span class="icon fa-angle-left" title="上一页"></span>',
// 			next: '<span class="icon fa-angle-right" title="下一页"></span>',
// 			last: '<span class="icon fa-angle-double-right" title="最后一页"></span>'
// 		}
// 	});
// })(window, document, jQuery);
// (function(window, document, $) {
// 	"use strict";

// 	$.components.register("webuiPopover", {
// 		mode: "default",
// 		defaults: {
// 			trigger: "click",
// 			width: 320,
// 			multi: true,
// 			cloaseable: false,
// 			style: "",
// 			delay: 300,
// 			padding: true
// 		}
// 	});
// })(window, document, jQuery);

(function () {
	"use strict"
	$.components.register("niceScroll", {
		mode: "default",
		defaults: {
			cursorcolor: "#bdc5ca", // #CC0071 光标颜色
			cursoropacitymax: 1, // 改变不透明度非常光标处于活动状态（scrollabar“可见”状态），范围从1到0
			touchbehavior: false, // 使光标拖动滚动像在台式电脑触摸设备
			cursorwidth: "4px", //滚动条的宽度，单位：便素
			cursorborder: "1", // 游标边框css定义
			cursorborderradius: "2px", // 以像素为光标边界半径
			autohidemode: false,
			scrollspeed: 60, // 滚动速度，默认值为60
			railpadding: {
				top: 0.5,
				right: 0.5,
				left: 0.5,
				bottom: 0.5
			}, // 设置轨道的内间距
			oneaxismousemode: "false" // 当只有水平滚动时可以用鼠标滚轮来滚动，如果设为false则不支持水平滚动，如果设为auto支持双轴滚动

		}
	});
})();

(function (window, document, $) {
	"use strict";
	$.components.register("slimScroll", {
		mode: "init",
		defaults: {
			height: '100%',
			size: '4px',
			color: $.configs.colors['blue-grey']['500'],
			position: 'right',
			distance: '4px',
			railVisible: true,
			railColor: $.configs.colors['blue-grey']['300'],
			railOpacity: 0.1,
			railDraggable: true,
			wheelStep: 15,
			borderRadius: '4px',
			railBorderRadius: '4px'
		},
		init: function (context) {
			$(context).find('[data-plugin="scroll"]')['slimScroll'](this.defaults);
		}
	});

})(window, document, jQuery);

(function (window, document, $) {
	"use strict";
	$.components.register("selectpicker", {
		mode: "default",
		defaults: {
			noneSelectedText: '请选择',
			noneResultsText: '没有找到匹配项',
			countSelectedText: '已选中{1}项中的{0}项',
			maxOptionsText: ['超出限制 (最多选择{n}项)', '组选择超出限制(最多选择{n}组)'],
			selectAllText: '选择全部',
			deselectAllText: '取消全部选择',
			doneButtonText: '关闭',
			style: "btn-select",
			iconBase: "icon",
			tickIcon: "wb-check"
		}
	});
})(window, document, jQuery);

(function (window, document, $) {
	"use strict";
	$.components.register("formValidation", {
		mode: "default",
		defaults: {
			locale: 'zh_CN',
			framework: 'bootstrap',
			excluded: ':disabled',
			icon: {
				valid: 'icon wb-check',
				invalid: 'icon wb-close',
				validating: 'icon wb-refresh'
			}
		}
	});
})(window, document, jQuery);

(function (window, document, $) {
	"use strict";
	$.components.register("iCheck", {
		mode: "default",
		defaults: {}
	});
})(window, document, jQuery);